#include <iostream>
using namespace std;

/*  配合05食用
    引用作为函数的形参--》引用最大的用途
    小心左值和右值的区别
    1.C++规定，如果函数的形参是普通的引用（没有使用const修饰的引用，就是普通引用)，传递实参只能传递左值
    2.解决方法 (我希望fun这个函数既可以传递左值，也可以传递右值)
        方法1：把形参定义成const修饰的引用既可以解决
        const修饰的引用--》C++叫做常引用
*/

// void fun(int &b);  //实参只能传递左值
// void fun(const int &b); // 实参可以传递左值，也可以传递右值

void fun(const int &b)
{
    cout << "b = " << b << endl;
}

int main()
{
    int n1 = 10;

    // 写法1
    fun(n1);

    // 写法2
    fun(n1 + 1);

    // 写法3
    fun(20);

    return 0;
}